Eric MILLOZ

            



Backup d'un NAS Synology avec un Raspberry


Sommaire défini

1 - Introduction

2 - Préparation du système du Raspberry

3 - Connexion au système

4 - Installation de l'environnement de sauvegarde

5 - Installation des utilisateurs

6 - Connexion au NAS

7 - Mise en place du backup.

8 - Ordonnancement du backup.

9 - Paramétrage du script.

10 - Auteur

11 - Bibliographie.


1 - Introduction

Si vous avez un Raspberry de première génération qui ne servent plus à grand chose, je vous propose d'en faire un système de sauvegarde.
Ce système permet de :
  • Sauvegarder les données de votre NAS
  • Accéder aux données sauvegardées via Samba (CIFS)
  • De servir de NAS (ce n'est pas le but premier), mais pour une restauration ça peut être utile.

  • Il faut donc :
  • Un Raspberry
  • Un disque externe pour stocker vos données.
  • une alimentation USB qui sort au moins 2 Ampères en mini USB, si vous branché un disque auto-alimenté.
  • un câble Ethernet
  • Une fois que tout cela est branché. passer à l'étape 2

    2 - Préparation du système du Raspberry

    Il faut installer un système, j'ai choisi le Rapsbian (dérivé de Debian), à l'image du sérieux de Debian, il sera solide et stable.

    Sur le site https://www.raspberrypi.org/help/noobs-setup/, vous trouverez des explications pour faire cela.

    Dans la partie https://www.raspberrypi.org/downloads/noobs/ vous trouverez les images à télécharger.

    Finalement vous téléchargerez l'utilitaire d'installation https://downloads.raspberrypi.org/NOOBS_latest le fichier s’appelle NOOB_VX_Y_Z.zip, que vous sauvegarderez sur votre disque dur.
    Il faut le dézipper, son contenu est à copier sur une carte SD vierge

    Une fois copié, éjectez la carte SD et installez la dans le Raspberry, puis démarrer le.
    Un menu devrait s'afficher qui présente des choix d'installation de système pour la carte Raspberry.
    Choisissez RaspBian (1 er choix), et cliquer installer

    L'installation commence par le téléchargement des packages et du système par internet, puis l'installation sur la carte SD, une boite vous signale que c'est fait, cliquer OK, le système démarre.

    3 - Connexion au système

    Vous avez maintenant un système opérationnel.
    L'ip est en dchcp, c'est donc votre box qui lui donne l'adresse IP.

    Votre système s’appelle par défaut Raspberry
    L'Utilisateur pardéfaut s'apelle pi et son mot de passe raspberry

    Vous voudriez peut être vous y connecter depuis votre PC... il faut modifier quelques paramétres dans le système avant.

    il faut lancer sudo raspi-config pour activer le ssh, régler la zone horaire, etc..
    Une fois activé le ssh vous pouvez vous connecter en ligne de commande avec un émulateur de terminal tel que Putty.

    Préparation d'un connexion en session graphique.
    Il faut alors installer sur le Raspberry, le logiciel X11vnc, vous ouvrez un LXTerminal (Emulateur de terminal pour accéder au SHELL), puis avec la commande :
    sudo apt-get install X11vnc -y
    Ensuite dans le menu "Internet" de votre environnement graphique, X11VNC Serveur apparaît.
    Cliquez dessus , sur la première fenêtre cliquer OK.
    Sur la deuxième, cocher "accept Connections" et dans la boite de dialogue Password, saisissez un mot de passe court, puis cliquer OK
    Le programme apparaît en haut à droite du bureau
    Sur votre poste Windows ou Linux, installer le logiciel VNC,puis lancer le client de connexion distant qui s’appelle VNCViewver
    Saisissez le nom du Raspberry (nom de la machine ou son IP), puis le nom de l'utilisateur (pi) et le mot de passe court que vous avez saisi.
    Normalement, vous devriez voir le bureau du Raspberry sur votre PC

    ou alors vous avez 2 systèmes (PC et Raspberry) avec 2 écrans pour suivre ce tutoriel, dans ce cas, pas de problème.

    4 - Installation de l'environnement de sauvegarde

    Installation de logiciel pour permettre de faire notre sauvegarde.
    Ouvrez un LXTerminal puis jetez y ces quelque lignes :
    sudo apt-get install cifs-utils -y
    sudo apt-get install samba -y
    sudo apt-get install gsmartcontrol -y
    sudo apt-get install p7zip -y
    sudo apt-get install gparted -y

    5 - Installation des utilisateurs

    Installation du nouvel utilisateur de sauvegarde
    Je vais l'appeler "backup".
    sudo add user backup
    taper son nom, son mot de passe et divers renseignements ou laisser à blanc si ce n'est pas pertinent.

    Création de l'utilisateur au sens Samba/CIFS (partage réseau)
    sudo smbpasswd -a backup
    Tapez son mot de passe. (2 fois)
    Dans un terminal LXTerminal tapez :
    sudo vi /etc/samba/smb.conf
    cherchez avec l'éditeur en tapant : /global
    puis avec les flèches, placez vous après la ligne : #======================= Global Settings ======================= puis tapez la lettre i, puis : i
    [global]
    security = user
    ensuite tapez ":$" (ce qui vous amènera à la fin du fichier.)
    taper i puis saisissez :
    [backup]
    comment = external drive
    path = /media/pi/Point_de_montage_de_votre_disque_externe
    valid users = @users
    force group = users
    create mask = 0660
    directory mask = 0771
    read only = no


    XXX étant le nom de votre disque dur (visible en tapant dans LXTerminal mount.
    Une fois paramétré Samba, alors faites un ré-démarrage de celui-ci par :
    sudo service samba restart
    sudo chmod 777 /media/pi -R

    Vous pouvez, alors, vous connecter avec votre Windows ou Linux (avec Gigolo ce qui est plus facile.).

    6 - Connexion au NAS

    Pour que votre Raspberry de backup puisse se connecter aux NAS, il faut faire une connexion (montage) sur le NAS.

    sudo mkdir /mnt/backup
    chmod 777 /mnt/backup
    sudo mount /mnt/backup IP_NAS/public -- avoir les options..

    7 - Mise en place du backup.

    Le script de backup assurer par un outil de synchronisation de répertoire qui permet de ne sauvegarder que les fichiers qui ont été changés.

    rsync -av /mnt/public /media/pi/Point_de_montage_de_votre_disque_externe

    les fichiers contenu de votre NAS dans le lecteur "public" (via le point de montage) sera sauvegarder sur votre disque dur externe.

    8 - Ordonnancement du backup.

    Il est intéressant de faire le backup la nuit, pour des raisons de :
  • bruits
  • économie d’énergie
  • disponibilité des données
  • performances réseau
  • ...
  • Le système peut-être démarrer électriquement avec un programmateur.
    Pour déclencher la sauvegarde on peut utiliser la crontab ou le fichier rc.local qui lance la sauvegarde après le démarrage.
    L'arrêt se fait avec avec la crontab sur un ordre "halt" du Raspberry. (avant que le programmateur électrique stoppe l'ensemble (Raspberry et le disque dur externe.)

    9 - Paramétrage du script.

    Il faut paramétrer le script pour lui indiquer le répertoire source à sauvegarder et le répertoire cible.
    Le fichier backup.ok, sert à valider que le disque externe est bien présent pour continuer l'opération. En cas d'absence, on en déduit que le montage du volume de backup n'a pas été réalisé correctement et le script s’arrête. (Cela évitera de saturer le volume interne au Raspberry.)

    10 - Auteur

    © 2015 Eric MILLOZ

    11 - Bibliographie.

    Linux is a nutshell.
    Quelques références sur le web pour la crontab et la syntaxe de ash.

    Articles
    La i-Girouette (09/12/2017)TER St-Etienne Ambérieux (15/04/2018)